package com.molichuxing.services.business.dto.request.create;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

import com.molichuxing.framework.dto.RequestRootDto;
import com.molichuxing.services.property.OrderExclusivelTypeEnum;
import com.molichuxing.services.property.OrderPaymentMethodEnum;
import com.molichuxing.services.property.OrderSourceEnum;

import lombok.Data;

/**
 * 专属里程新增biz dto
 * 
 * @author zoumingyu
 * @date 2019年9月25日
 *
 */
@Data
public class OrderExclusivelCreateBizDto extends RequestRootDto {
	private static final long serialVersionUID = 6617966063251946984L;

	/**
	 * 用户id user_id
	 */
	private Integer userId;

	/**
	 * 订单来源（1：智能终端（AIO），2：手机APP（Android），3：手机APP（IOS），4：微信小程序（APPLET），5：微信公众号（JSAPI），6：H5页面（MWEB））
	 * source
	 */
	private OrderSourceEnum source;
	
	/**
	 * 订单创建时间
	 */
	private LocalDateTime orderTime;

	/**
	 * 下单门店id place_store_id
	 */
	private Integer placeStoreId;

	/**
	 * 下单设备编号（智能终端下单为终端cpu） place_device_num
	 */
	private String placeDeviceNum;

	/**
	 * 下销售顾问id place_salesman_id
	 */
	private Integer placeSalesmanId;

	/**
	 * 商品id goods_id
	 */
	private Integer goodsId;

	/**
	 * 商品编码 goods_code
	 */
	private String goodsCode;
	
	/**
     * 专属商品类型：1：专属里程，2：订悦里程 type
     */
    private OrderExclusivelTypeEnum type;

	/**
	 * 车型id vehicle_id
	 */
	private Integer vehicleId;

	/**
	 * 商品租车费(商品信息) rental
	 */
	private BigDecimal rental;
	
	/**
	 * 租金（总租金）
	 */
	private BigDecimal cartFee;
	
	/**
	 * 保证金
	 */
	private BigDecimal deposit;
	
	/**
	 * 服务费 service_fee
	 */
	private BigDecimal serviceFee;

	/**
	 * 付款方式（1：一次性付清，2：分期） payment_method
	 */
	private OrderPaymentMethodEnum paymentMethod;

	/**
	 * 还款周期（1：1个月，n：n个月） repayment_period
	 */
	private Integer repaymentPeriod;

	/**
	 * 首付期数（1：1期，2：2期，n：n期） first_terms
	 */
	private Integer firstTerms;

	/**
	 * 结算日（1：1号...28：28号） settle_day
	 */
	private Integer settleDay;

	/**
	 * 过户时限（0：无，n：n个月） transfer_time
	 */
	private Integer transferTime;
	
	/**
     * 过户费 transfer_fee
     */
    private BigDecimal transferFee;

	/**
	 * 用车时长（1：1个月，n：n个月） transport_time
	 */
	private Integer transportTime;

	/**
	 * 是否回购（0：不回购，1：回购） is_buyback
	 */
	private Boolean isBuyback;

	/**
	 * 回购金额 buyback_amount
	 */
	private BigDecimal buybackAmount;

	/**
	 * 保底回购价 minimun_guarantee_amount
	 */
	private BigDecimal minimunGuaranteeAmount;

	/**
	 * 残值购买费 scrap_value
	 */
	private BigDecimal scrapValue;

	/**
	 * 合同模板ids，多个逗号分隔 contract_template_ids
	 */
	private String contractTemplateIds;

	/**
	 * 起租日 lease_inception
	 */
	private LocalDate leaseInception;

	/**
	 * 截止日（起租日加租期） lease_expire
	 */
	private LocalDate leaseExpire;
	
	/**
     * 限制里程 limit_mileage
     */
    private Integer limitMileage;
}
